package com.samoilovich.belarustoday.calendar.fragments;

import java.util.Date;

import android.view.View;

/**
 * ICalendarListener inform when user clicks on a valid date (not within disabled
 * dates, and valid between min/max dates)
 * 
 * The method onChangeMonth is optional, user can always override this to listen
 * to mMonth change event
 * 
 * @author thomasdao
 * 
 */
public interface ICalendarListener {
	/**
	 * Inform client user has clicked on a date
	 * @param date
	 * @param view
	 */
	public abstract void onSelectDate(Date date, View view);

	
	/**
	 * Inform client user has long clicked on a date
	 * @param date
	 * @param view
	 */
	public void onLongClickDate(Date date, View view);

	
	/**
	 * Inform client that calendar has changed mMonth
	 * @param month
	 * @param year
	 */
	public void onChangeMonth(int month, int year);

	
	/**
	 * Inform client that ScheduleCalendarFragment view has been created and views are
	 * no longer null. Useful for customization of button and text views
	 */
	public void onCalendarViewCreated();
}
